# kernel/entry.S（修改后）
    .section .text
    .globl _start
_start:
    # 1. 测试 UART 输出 “S” 表示开始执行
    li t0, 0x10000000       # UART 基地址（修正为正确地址）
    li t1, 'S'
    sb t1, 0(t0)            # 写入 UART_THR 寄存器

    # 2. 设置栈指针（栈顶地址由链接脚本定义）
    la sp, stack_top
    li t1, 'P'
    sb t1, 0(t0)            # 输出 "P" 表示栈设置完成

    # 3. 清零 BSS 段
    la t0, bss_start
    la t1, bss_end
bss_clear:
    bge t0, t1, bss_done
    sd zero, 0(t0)
    addi t0, t0, 8
    j bss_clear
bss_done:

    # 4. 跳转到 C 入口函数
    call kmain

